其他
软件应用丨Matplotlib简单画图:(一)
版权声明:本文为CSDN博主「向前走别回头」的原创文章合辑,遵循 CC 4.0 BY-SA 版权协议,特此附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/weixin_39778570/article/details/81137741
https://blog.csdn.net/weixin_39778570/article/details/81138555
plot
https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html#matplotlib.pyplot.plot
https://matplotlib.org/tutorials/introductory/sample_plots.html#sphx-glr-tutorials-introductory-sample-plots-py
import pandas as pd
import numpy as np
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
a = [1,2,3]
# 传入a为x轴,y轴默认
plt.plot(a)
[<matplotlib.lines.Line2D at 0x1258dde4128>]
# 显示
plt.show()
a = [1,2,3]
b = [4,5,6]
# 传入x,y轴
plt.plot(a,b)
[<matplotlib.lines.Line2D at 0x1258e0d5ba8>]
plt.show()
# jupyter 中导入这一行可以直接显示图片
%matplotlib inline
plt.plot(a,b)
[<matplotlib.lines.Line2D at 0x1258e39dd68>]
# 计算运行时间
%timeit np.arange(10)
570 ns ± 6.99 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
# 修改画出来的图表的样子,*号图
plt.plot(a,b,'*')
[<matplotlib.lines.Line2D at 0x1258e419438>]
# 红色的虚线
plt.plot(a,b,'r--')
[<matplotlib.lines.Line2D at 0x1258f66d390>]
# 蓝色的虚线
plt.plot(a,b,'b--')
[<matplotlib.lines.Line2D at 0x1258f6ceef0>]
# c传入两个图表
c = [10,8,6]
d = [1,8,3]
plt.plot(a,b,c,d)
# 修改线的形状
plt.plot(a,b,'b--',c,d,'r*')
[<matplotlib.lines.Line2D at 0x1258f865a20>,
<matplotlib.lines.Line2D at 0x1258f865be0>]
# 画一个正弦函数
t = np.arange(0.0, 2., 0.1)
t.size
Out[]:20
s = np.sin(t*np.pi)
plt.plot(t,s,'r--')
[<matplotlib.lines.Line2D at 0x1258f937b38>]
# 画两条线,并设置x,y轴的label和title
plt.plot(t,s,'r--', t*2, s, '--')
plt.xlabel('this is x')
plt.ylabel('this is y')
plt.title('this is a demo')
# 需要有图例的名字才能显示
plt.legend()
左右滑动查看更多
# 设置每个图的label
plt.plot(t,s,'r--', label='aaaa')
plt.plot(t*2, s, '--',label='bbbb')
plt.xlabel('this is x')
plt.ylabel('this is y')
plt.title('this is a demo')
plt.legend()
subplot
# 导入库
import pandas as pd
import numpy as np
from pandas import Series, DataFrame
import matplotlib.pyplot as plt
# 等差数列50个值
x = np.linspace(0.0, 5.0)
# 生成两个y轴坐标
y1 = np.sin(np.pi*x)
y2 = np.sin(np.pi*x*2)
# 画线
plt.plot(x, y1, 'b--', label='sin(pi*x)')
plt.ylabel('y1 value')
plt.plot(x, y2, 'r--', label='sin(pi*2x)')
plt.ylabel('y2 value')
plt.xlabel('x value')
plt.title('this is x-y value')
# 显示线的label
plt.legend()
# 两行一列的图,第三个参数为第几个图
plt.subplot(2,1,1)
# 画线
plt.plot(x, y1, 'b--')
plt.ylabel('y1')
# 切换到第二个子图
plt.subplot(2,1,2)
# 画线
plt.plot(x,y2,'r--')
plt.ylabel('y2')
plt.xlabel('x')
# 两行两列
plt.subplot(2,2,1)#也可以直接plt.subplot(221)
plt.plot(x, y1, 'b--')
plt.ylabel('y1')
plt.subplot(2,2,2)
plt.plot(x,y2,'r--')
plt.ylabel('y2')
plt.xlabel('x')
plt.subplot(2,2,3)
plt.plot(x, y1, 'b*')
subplots
a = plt.subplots()
type(a)
tuple
a[0],a[1]
(<matplotlib.figure.Figure at 0x1f871bd0e10>,
<matplotlib.axes._subplots.AxesSubplot at 0x1f871c31240>)
figure, ax = plt.subplots(2,2)
figure
# ax是一个数组,可以通过ax访问子图
ax
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x000001F871F49358>,
<matplotlib.axes._subplots.AxesSubplot object at 0x000001F871F7DEF0>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x000001F871FB7EF0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x000001F871FEEF60>]], dtype=object)
ax[0][0].plot(x, y1)
ax[0][1].plot(x, y2)
figure
·END·
点击阅读原文,进入新型农业经营主体大数据库
往期推荐
数据Seminar
这里是大数据、分析技术与学术研究的三叉路口
出处:CSDN作者:向前走别回头推荐:青酱排版编辑:青酱
欢迎扫描👇二维码添加关注
点击阅读原文,获得更多精彩内容!